home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 000589_timbl@www3.cern.ch _Wed Jan 20 18:01:56 1993.msg < prev    next >
Internet Message Format  |  1994-01-24  |  5KB

  1. Return-Path: <timbl@www3.cern.ch>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA10167; Wed, 20 Jan 93 18:01:56 MET
  4. Received: by dxmint.cern.ch (5.65/DEC-Ultrix/4.3)
  5.     id AA24644; Wed, 20 Jan 1993 18:17:20 +0100
  6. Received: by www3.cern.ch (NX5.67c/NX3.0S)
  7.     id AA05229; Wed, 20 Jan 93 18:16:21 +0100
  8. Date: Wed, 20 Jan 93 18:16:21 +0100
  9. From: Tim Berners-Lee <timbl@www3.cern.ch>
  10. Message-Id: <9301201716.AA05229@www3.cern.ch>
  11. Received: by NeXT.Mailer (1.87.1)
  12. Received: by NeXT Mailer (1.87.1)
  13. To: Dan Connolly <connolly@pixel.convex.com>
  14. Subject: Re: QueryForms and Input tag 
  15. Cc: Dave_Raggett <dsr@hplb.hpl.hp.com>, www-talk@nxoc01.cern.ch
  16. Reply-To: timbl@nxoc01.cern.ch
  17.  
  18. A few unrelated points about this.
  19.  
  20. A. There is a whole standard, as yukky as SGML, on Electronic data  
  21. Intercahnge, meaning forms and form submission.  I know no more
  22. except it looks like fortran backwards with no spaces.
  23. But it might be interesting for a set of featuire to be supported.
  24.  
  25. B. I see a need for the definition os two things, a form to be filled  
  26. out 9containing field types and constraints), and a format for the  
  27. return of the field values. The latter is a structure of typed values  
  28. (parameters) plus a note of the method to be applied and the object  
  29. to which it is to be appllied. (I can see several different forms  
  30. providing the same structure, for example a simpler form with a lkot  
  31. of default values, and a separate one in French, all targetted at the  
  32. same object).
  33.  
  34. I don't think the form should contain a macro for generting a query  
  35. in an arbitrary language. That is too open-ended a function. I think  
  36. the server should be responsible for taking a structure of field  
  37. values and applying it to an object.
  38.  
  39. I'd like to see this generalised. In HTTP2, an object may allow a  
  40. large set of operations. For each operations, one ought to be able to  
  41. retrieve a form for filling out the parameters. The guts of this form  
  42. should be no less than a complete parameter definition for the  
  43. method. Of couse a general method returns a structure of results as  
  44. well (rather than always a document).
  45.  
  46. I  see the following scenario:
  47.  
  48. 1.    user follows a link to an object, a flight description, say
  49. 2.    The flight object has in its HTTP2 Allowed: field the
  50.     Method RESERVE. The client program doesn't understand this
  51.     but sticks it in the menu.
  52. 3.    The users wants to reserve a seat, and pulls down "RESERVE"
  53.     from the menu.
  54. 4.    The client asks the server for a [set of] form[s] for which
  55.     describe the parameters to the RESERVE method. The user may
  56.     have to pick one.
  57. 5.    The user fills in the form.  The methodname RESERVE and the
  58.     uri of the object he is operating on are supplied by the
  59.     client software.
  60. 6.    Parameters (structure of field contents) , methodname and
  61.     object uri are sent off to the server.
  62. 7.    A document is returned with the results.
  63.  
  64. The important thing is that we bridge the gap between automatic and  
  65. manual procedures. Obviously, the user will soon be making local  
  66. macros to reserve sets of flights for himself and his friends. So the  
  67. guts of what goes on must be machine-understandable, not just  
  68. human-readable.
  69.  
  70. Currently HTTP2 returns a MIME document. A MIME document can be a set  
  71. of objects each with a Content-Type,  but it is kinda heavy for an  
  72. array of 3 integers!  At this point, ASN/1 would seem a better bet (a  
  73. rare thing! ;-) Perhaps we can look at a multipart message and a data  
  74. structure in the same way with generality.
  75.  
  76. [A problem with including a more compact representation as part of a  
  77. MIME document is that MIME doesn't like encoding techniques to be  
  78. applied which hide the internal types from a MIME gateway. Therefore,  
  79. one might just have to say there was a black box MIME object like
  80.  
  81.     Content-Type: application/ASN-1
  82.     Content-encoding: base64
  83.  
  84. Of course ASN/1 like SGML requires a reference to the DTD equivalent
  85. for the (numeric in this case) tag values.  What a plethora of choice  
  86. we have with SGML, ASN/1, RCC822... Perhaps we can write  
  87. architectural forms for DTDs which produce ASN/1-equivalent  
  88. definitions, which will then allow the DTD to define the ASN/1 and  
  89. ASN/1 to become a natural alternative syntax for any conforming DTD.
  90. [It could (is?) done now, but the architectural forms would allow a  
  91. field which is in fact an integer to be sent as an ASn/1 integer  
  92. rather than as a bit of text]
  93.  
  94. In fact of course the form itself in fact contains a specification of  
  95. the type of the field value structure, so from the form one can  
  96. generate the DTD and/or ASN/1 description for the reply ... silly me.
  97. In fact one can imagine the output data coming in the same way, as a  
  98. set of field values plus a set of forms which would allow its display  
  99. in various languages etc.  The specification of a method required  
  100. just giving the URIs of the infput and output forms.
  101.  
  102. At any rate, I think it is important to differentiate the set of  
  103. values from the form.
  104.  
  105. Tim
  106.  
  107.  
  108.  
  109.